1. Field of the Invention
This application relates generally to the field of video game amusement devices including means for processing data in a networked environment. Specifically presented are methods and systems for synchronizing progress among players on peer-to-peer network connected video game consoles, handheld electronic devices, cellular telephones, personal computers, and other machines on which games are played.
2. Description of the Related Art
Many computer video games are programmed to be able to be played with one or more players on a single video game console. In some video games, multiple players can connect multiple consoles together through a phone, cable, wireless, or other network. Connecting multiple game consoles together can allow the processing power of each game console, which sometimes houses an extraordinarily powerful central microprocessor, graphics rendering and audio processors, and fast memory, to service the processing needs of each player local to the game console while tying game play of all the consoles into one combined game. For enhanced realism and smooth game play, it is often critical for these networked game consoles to work near the envelope of their processing and memory limits.
There are two common types of network architecture for routing packets and other communication signals among networked game consoles: client-server and peer-to-peer.
FIG. 1 illustrates a “client-server” network architecture. Communications go between each client and the server, but generally not between clients. In one type of client-server architecture, the client computers are often disparate models (e.g. various personal computers or game consoles) to one another that communicate to a central server or set of servers over a wide area network, such as the Internet. In a video game, the central server tracks the location of each player, non-player character, and various items and objects in the video game.
In another type of client-server architecture, the client computers are the same model or relatively similar types (e.g. game consoles) in which one of the clients acts as a server. The server can be selected in an ad hoc fashion between the various connected consoles, and is typically the host player's console, which is the console of the first player to begin the game.
FIG. 2 illustrates a “peer-to-peer” network architecture. Communications typically go between each and every peer. Similar or disparate types of computers can be connected with one another in a peer-to-peer topology. In a video game, the peers pass messages and other communications with one another to duplicate the locations of players, non-player characters, objects, etc. in each peer.
Multiplayer games can pit different players directly against each other, such as in a shoot-to-kill game. Multiplayer games can also have players cooperate to achieve a desired goal in the game. Cooperative games can involve players in the same platoon in a war simulation, on the same quest in an adventure series, or pursuing other exciting missions.
An ‘open world’ video game is a game in which the virtual area of interactive gameplay is visible across much of the world. For example, in an open world video game set in a city, a player can see, or even affect, objects on the another side of the city from across the city. A player can potentially see a helicopter flying from another side of the city all the way to hover over his position. A player can also potentially see another player storm across the city toward him.
Multiplayer open world video games on peer-to-peer connected game consoles present difficult challenges for a game developer when it comes to staying within the processing, memory, and bandwidth budgets of each game console. Even though several game consoles may be connected together and share the load in some respects, one game console is typically in charge of tracking all the objects, spawned non-player characters, and otherwise acting as the server for the other consoles. Because multiplayer games are often based off of single-player games, and the single-player version of the game is programmed near the envelope of the consoles capabilities, a console acting as a server for multiple players can be severely strained.
To alleviate this strain, some open world games ‘tether’ the players together so that they cannot move too far from each other. This limits the interactive area to one that is managed by the peer-to-peer connected console which acts as the server. Unfortunately, tethering limits the independence of players who would otherwise split off into different missions and then reconnect later.
Thus, solutions for having players be able to split off from one another in a multiplayer video game using peer-to-peer connected game consoles are sought. Embodiments of the invention address these and other problems.